본문으로 건너뛰기

8장: 스타일 가이드와 규칙

규칙은 중요하다. 그곳이 일상이 아니라 조직생활이라는 상황이라면 규칙은 더욱 중요해진다. 특히 엔지니어링 분야에서 규칙은 자동화 과정을 통해 실수나 누락을 방지하고 코드의 일관성을 유지하게 만들어주며 실용적인 방향으로 합의하에 적용된다.

Chapter 8은 구글 엔지니어들이 협업시 사용하는 규칙과 스타일 가이드에 대해 설명한다.

규칙을 만들 때는

  • 양을 최소화 한다.
  • 코드를 읽는 사람에게 맞춰야 한다.
  • 일관성과 표준을 정해야 한다.
  • 오류를 내기 쉽거나 예상과 다르게 동작할 여지가 있는 구조는 피한다.
  • 일관성은 중요하지만 실용적 측면도 인정해야 한다.
  • 투표가 아니라 합의로 이루어져야 한다.

스타일 가이드의 목적

스타일 가이드는 코드의 일관성을 유지하고, 팀 간의 협업을 원활하게 만드는 역할을 한다. 이를 통해 코드의 가독성과 유지보수성이 높아지며, 팀워크가 강화된다. 스타일 가이드의 규칙은 세 범주로 나눌 수 있다.

  • 위험을 피하기 위함인가?
  • 모범 사례를 적용하기 위함인가?
  • 일관성을 보장하기 위함인가?

주석은 코드의 설계나 의도를 설명하고, 중요한 선택이나 로직을 해명하며, 다른 엔지니어가 이해할 수 있도록 증거를 남기는 역할을 하도록 설계되어야 한다.

지침은 모범사례를 따르도록 설계되어야 한다. 모범사례를 통해 최고의 결과를 낼 수 있게 도움을 주고 설명을 제공한다.

규칙을 정해도 적용하지 않으면 의미가 없다. 실제로 지켜지는지 확인하는 데는 사람보다 자동화된 도구를 활용해 규칙이 자동적으로 반영되게 만들며 규칙을 다르게 해석하거나 적용하는 일을 최소한으로 줄일 수 있다. 이로 인해 규모가 커지더라도 비용에 대한 걱정이 없어지게 된다.

하지만 이는 기술에 대한 규칙이며 사회적 문제를 기술적인 시각으로 해결하려 드는 것은 현명하지 않기에 이런 문제에 대한 규칙을 적용하는 데는 사람에게 맡기기도 하는 것으로 유연하게 대처한다.

해당 챕터를 읽으면서 협업에서 규칙과 스타일 가이드에 대해 생각하게 되었다. 협업 효율성을 높이고 팀원간의 협력이 자연스럽게 이루어지는 점에서 중요성을 실감하게 되었고, 이를 잘 적용하기 위해 필요한 점들을 배웠다.